Skip to content

Conversation

@skaunov
Copy link

@skaunov skaunov commented Apr 22, 2025

Description

Problem*

@saleel suggested to add this here

Summary*

Current ElGamal implementation

Additional Context

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@critesjosh
Copy link
Contributor

can you add yours as an alternative to the existing one rather than a replacement?

@skaunov
Copy link
Author

skaunov commented Apr 23, 2025

@critesjosh
I guess I can, but why? I mention this work, and I went over it to include everything it does. The new one works better with the current version of Noir, and was targeted to improve the one that is in the list now. I just don't see a reason for the duplication.

@critesjosh
Copy link
Contributor

One difference that I notice is that the other one has a package so you can do similar operations in javascript, which would be useful for folks building web apps. I don't doubt that your Noir implementation is better, but depending on what devs want to do with it, JS tools may be a requirement. Are there JS libraries that folks can use with yours?

@skaunov
Copy link
Author

skaunov commented Apr 25, 2025

I hardly found that even after you comment! X) I guess because that's not a part of that repo, but just linked; so I missed that indeed. Took a glance over the thing: do you think it can be used with the new implementation as well? I guess the link can be just extracted to here. And if there's interest in ElGamal at all I can integrate it in the repo itself.

@critesjosh
Copy link
Contributor

I guess I would expect it to work for baby jub jub, but not for grumpkin, but its worth testing.

@critesjosh
Copy link
Contributor

I have heard of at least one other projects recently using ElGamal. It seems like quite a useful primitve. I had worked with someone in the past to design a deck shuffling scheme using el gamal, but it was never actually implemented

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants